Interest related search results

ABSTRACT

Technology is described for providing search results based on a search query. The method may include receiving the search query. A user interest based on the search query may also be identified. The user interest may be compared with currently trending interests. Interest items based on the currently trending interests that relate to the user interest may be identified.

BACKGROUND

With the enormous amount of information available on the Internet, usersfrequently use search engines to find information. For example, a userinterested in cooking recipes may use a search engine to find certainrecipes. While some search engines may allow users to find informationon the entire Internet, other websites may have search engines forfinding information on that particular website. For example, a cardealership website may allow users to search for available car models atthe dealership. In this case, the user may enter a search phrase or aquestion into the search query box, and generally the search engine mayprovide relevant search results.

Search engines may utilize a number of techniques to find the mostrelevant search results. For example, search engines may look forcontent that may contain the same text as the search terms entered bythe user. After entering a search term into a search engine, a list ofmatching search results may be provided. With the billions of pages on amultitude of websites, it is likely that many pages contain the samesearch terms entered by the user. Thus, a search may often produce alarge number of results. Search engines may attempt to simplify thesearch results by displaying highly relevant or highly rated searchresults on the top of the display.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate a number of technology examples andare a part of the specification. Together with the followingdescription, these drawings demonstrate and explain various aspects ofthe present disclosure.

FIG. 1 is an illustration that depicts a user interface rendered by aclient according to various examples of the present disclosure.

FIG. 2 is an illustration of a networked environment according tovarious examples of the present disclosure.

FIGS. 3-6 are drawings that depict a user interface rendered by variousclients according to various examples of the present disclosure.

FIG. 7 is a flowchart of an example method for providing search resultsbased on a search query executed in a computing device in the networkedenvironment of FIG. 1.

FIG. 8 is a flowchart of another exemplary method for providing searchresults based on a search query executed in a computing device in thenetworked environment of FIG. 1.

FIG. 9A is a flowchart of an exemplary method for creating ontologiesbased on executed search queries executed in a computing device in thenetworked environment of FIG. 1.

FIG. 9B is an exemplary ontology tree based on executed search queriesexecuted in a computing device in the networked environment of FIG. 1.

FIG. 10 is a schematic block diagram that provides an exampleillustration of a computing device employed in the networked environmentof FIG. 1.

Throughout the drawings, identical reference characters and descriptionsindicate similar, but not necessarily identical, elements. While theexamples described herein are susceptible to various modifications andalternative forms, specific examples have been shown in the drawings andwill be described in detail herein. However, the examples describedherein are not intended to be limited to the particular forms disclosed.Rather, the present disclosure covers all modifications, equivalents,and alternatives falling within the scope of the appended claims.

DETAILED DESCRIPTION

The technology provides interest items related to search results. Forexample, a user may enter a search query (e.g., a favorite superhero)into a page search engine. Due to the extremely large number of pagesthat may currently exist in a search space, the user may be presentedwith thousands, if not hundreds of thousands, of search results (e.g.,pages and/or items that contain the same key words as searched by theuser). These search results may include purchasable products related toa superhero. In this example, the large number of products related tothe superhero may be displayed in a prioritized list order, such as thehighest rated products being displayed first. While some of the productsmay be related to the user's search query, often times, many of theproducts are uninteresting to the user. In other words, many of theproducts may have some key word relation to the superhero but are nottied to the user's current interests in the superhero. For example, thesearch for the user's favorite superhero may result in a large number ofcertain items (e.g., movies), while the user may actually be moreinterested in different items related to the superhero (e.g., comicbooks, costumes). Furthermore, the user may be interested in similarsuperhero items (e.g., action figures) that other users have also showninterest in but the search results do not reflect these currentlytrending interests.

In order to suggest more relevant products to the user, the searchresults may include various interest items related to the userinterests. The interest items may include individual items, products,categories of products, and/or content related to the user interests.The interest items may be displayed as part of the search results (e.g.,on the right-hand side of the display screen). The user interests may bedetermined based on the terms of the user's search query and currentlytrending interests of other users using the search engine. For example,a user may enter the search term “The Knight movie props” as a searchquery. A determination may be made that the user interests relate to“The Knight” movie props. In addition, interest items may be suggestedto the user based on currently trending interests identified usingrecent searches from other users. For example, the interest items mayinclude particular models of swords and/or weaponry used by specificcharacters in the movie. The interest items may include “Zenon battlearmor” worn by the character “Vernon the Brave” from the movie “TheKnight.” In other words, the interest items displayed to the user may bebased on comparing currently trending searches with the user interestsbased on the user's search query.

For example, a user may search for a popular science fiction movie on asearch engine. The search engine may determine that, in a recent timeperiod, other users who have also searched for the same science fictionmovie also included additional search terms. For example, other usersmay have recently searched for costumes, toys, and/or replica weaponsrelated to the same science fiction movie. The recent time period maylimit the searches used to identify trending interests to searchesperformed within the last day, two days, three days, week, month and/oranother recent time period. In this example, in response to the usersearching for the science fiction movie, the interest based searchresults may display “costumes,” “toys,” and “replica weapons” as productcategories, due to the recent popularity of these search terms.Furthermore, the product categories may be displayed in a particularorder. For example, the ordering may be based on the popularity of thesearch terms associated with the product category. Therefore, if thehighest number of search queries were related to toys from the sciencefiction movie, then “toys” would be displayed as the first productcategory in the search results.

In some embodiments of the technology, the product categories may berelated to current events and/or time periods. For example, a user mayenter “action movie Dark Hour” as a search query during the month ofSeptember. The search engine may be programmed to know that September isthe month for many children to go back to school. Therefore, some of theproduct categories displayed may relate to the “back to school” timeperiod. For example, the search for “action movie Dark Hour” may resultin product categories related to “Dark Hour backpacks” and/or “Dark Hourlunch boxes.” The product categories may be ranked in an order based onthe popularity of the products. As another example, if the same searchis entered during the month of October, the product categories may berelated to “Dark Hour costumes,” due to the proximity of Halloween.

In some embodiments of the present disclosure, the product categoriesmay be related to the same product the user searched for, but eachproduct category may include a different characteristic for thatproduct. For example, a user may search for an item using general terms(e.g., “headphones”). The general search term may be a result of theuser being unfamiliar with the different types or characteristics ofheadphones. Using this example, the search engine may display differentproduct categories all related to headphones. For example, the productcategories may include “headphones with microphones,” “headphones withvolume control,” “headphones by brand Orange,” and/or “headphonescompatible with product Nebula.” The product categories may be based onsimilar searches performed by experts more familiar with headphones. Bydisplaying product categories based on searches made by other users orexperts with additional knowledge about headphones, a user with lessknowledge on headphones may benefit by learning about trending headphonetypes and/or models.

In some examples of the present technology, the search queries enteredby the users may be organized and stored as an ontology. In other words,the relationships between different user interests may be stored as adynamic topical model which can be used to provide improved searchresults to users. For example, based on related search queries, thetechnology may determine that users who search for first person shootercomputer games may also be interested in first person shooter videogames. Thus, the relationships between different user interests may bestored in a data store, and this information may be used to provideusers with more relevant and meaningful search results. As anotherexample, the technology may determine that “movie character Albus” and“video game character Silas” are popular trending costumes. Thus, thisinformation may be stored in a costumes ontology. In other words, when auser searches for costumes related to characters Albus and Silas, theinformation stored in the costumes ontology may be used to provide theuser with relevant and interesting products. In some examples, theontology may dynamically change over time based on the user queries. Forexample, if users interested in “movie The Knight swords” werehistorically also interested in “television show The Enforcers shields,”but this group of users have recently become more interested in“computer game Droids swords,” then the ontology may gradually change toreflect this shift. In general, the ontology may be created and modifiedbased on the information learned from the trending user interests.

FIG. 1 illustrates an exemplary user interface 100 associated with thepresent technology. In the exemplary user interface, a user may searchfor products on the ACME online store 110. For example, the user mayenter the search term “blaze man movies” into a search box 120, wherethe search relates to movies based on the fictional character “BlazeMan.” As shown by the search results 130, the relevant and/or highestrated movies may appear at the top of the display listing. For example,the search results 130 may include Blaze Man III 140, Blaze Man II 150,Blaze Man Genesis 160, and/or Blaze Man Forever 170. In addition, theright-hand section of the display 180 may display some possible searchrefinements. In some examples, the possible search refinements may beincluded in other areas of the display screen. The search refinementsmay include product categories that the user may find interesting basedon the user's search. In particular, the product categories may bedetermined from related trending search terms from other users within arecent time period. In this example, the product categories may be basedon recent user searches related to “Blaze Man” from other users, such asBlaze Man toys, Blaze Man costumes, Blaze Man posters, Blaze Man actionfigures, and/or Blaze Man soundtracks. In addition, the productcategories be displayed in a particular order (e.g., according topopularity, most recent, oldest, etc.).

In the following discussion, a general description of the system and thesystem's components is provided, followed by a discussion of theoperation of the same. FIG. 2 shows a networked environment 200according to various examples of the present technology. The networkedenvironment 200 may include one or more computing devices 210 in datacommunication with a plurality of clients 280 by way of a network 275.The network 275 may include the Internet, intranets, extranets, widearea networks (WANs), local area networks (LANs), wired networks,wireless networks, or other suitable networks, etc., or any combinationof two or more such networks. The networked environment 200 may alsoinclude one or more content display devices 288, such as tablets,laptops, personal computers, cell phones, and so on, which may or maynot be coupled to the network 275.

The computing device 210 may comprise, for example, a server computer orany other system providing computing capability. Alternatively, aplurality of computing devices 210 may be employed that are arranged,for example, in one or more server banks, computer banks or othercomputing arrangements. For example, a plurality of computing devices210 together may comprise a cloud computing resource, a grid computingresource, and/or any other distributed computing arrangement. Suchcomputing devices 210 may be located in a single installation or may bedistributed among many different geographical locations. For purposes ofconvenience, the computing device 210 is referred to herein in thesingular. Even though the computing device 210 is referred to in thesingular, it is understood that a plurality of computing devices 210 maybe employed in the various arrangements as described above.

The clients 280 and 290 are representative of a plurality of clientdevices that may be coupled to the network 275. The clients 280 and 290may comprise, for example, a processor-based system such as a computersystem. Such a computer system may be embodied in the form of a desktopcomputer, a laptop computer, personal digital assistants, cellulartelephones, smartphones, set-top boxes, network-enabled televisions,music players, tablet computer systems, game consoles, electronic bookreaders, or other devices with like capability. The clients 280 and 290may include a respective display 286 and 296, as well as a browser 282and 292. The browser 282 and 292 may be executed in a client 280 and290, for example, to access and render network pages, such as web pages,or other network content served up by the computing device 210 and/orother servers. The display 286 and 296 may comprise, for example, one ormore devices such as cathode ray tubes (CRTs), liquid crystal display(LCD) screens, gas plasma-based flat panel displays, LCD projectors, orother types of display devices, etc.

The clients 290 may be configured to execute various applications suchas a browser 292, and/or other applications 294. The applications 294may correspond to code that is executed in the browser 292. Theapplications 294 may correspond to standalone applications, such asmobile applications. In addition, the client 290 may be configured toexecute applications 294 that include, but are not limited to, mobileapplications, email applications, instant message applications, and/orother applications.

Various applications and/or other functionality may be executed in thecomputing device 210 according to various embodiments. Also, variousdata is stored in a data store 220 that is accessible to the computingdevice 210. The term “data store” may refer to any device or combinationof devices capable of storing, accessing, organizing, and/or retrievingdata, which may include any combination and number of data servers,relational databases, object oriented databases, simple web storagesystems, cloud storage systems, data storage devices, data warehouses,flat files, and data storage configuration in any centralized,distributed, or clustered environment. The storage system components ofthe data store may include storage systems such as a SAN (Storage AreaNetwork), cloud storage network, volatile or non-volatile RAM, opticalmedia, or hard-drive type media. The data stored in the data store 220,for example, is associated with the operation of the variousapplications and/or functional entities described below.

The data stored in the data store 220 may include executed searchqueries 222, key words 224, user interests 226, currently trendinginterests 228, and/or ontologies 228. The executed search queries 222included in the data store 220 may include the executed search queriesfrom a plurality of users. In addition, the executed search queries 222may include prior search queries. For example, the search terms “moviecostumes” and “movie props” entered by a user may be stored in theexecuted search queries 222. In some embodiments, the executed searchqueries 222 may include search queries from a predefined time period(e.g., a day, two days). In some embodiments, the executed searchqueries 222 may include search queries that are determined to be of lowspecificity. For example, the executed search queries 222 may includesearch phrases (e.g., “product Lizard with built-in speakers”), searchquestions (e.g., “where can I find a Lizard with built-in speakers?”),and/or individual search terms (e.g., headphones, televisions).

The key words 224 included in the data store 220 may include a pluralityof key words. The key words 224 may be useful for determining themeaning of the executed search queries. For example, a search query maycontain excess or unimportant search terms (e.g., “Lizard that also havebuilt-in speakers included with it”). In this example, the key words“Lizard” and “built-in speakers” may be included in the key words 224.The key words 224 may be accessed by other modules and/or processes toaid in determining the specificity of the content and/or subject matterof the executed search queries 222. The key words 224 may include keywords and/or phrases for a large number of products, services, items,etc.

The user interests 226 included in the data store 220 may include anextensive interests of a plurality of users. As used herein, the term“interest” generally refers to something that concerns, involves, drawsthe attention of, and/or arouses the curiosity of a user. In general, auser interest may include a wide variety of areas related to an originalsearch. For example, a user interest may include, but is not limited to,specific products (e.g., bicycles, portable music players), specificproduct brands (e.g., Lizard), specific subject areas (e.g., science,mathematics), and/or specific services (e.g., video subscriptionservices, data storage services). In some embodiments, the userinterests 226 may be determined from the executed search queries 222.Additionally, the user interests 226 may be determined from the executedsearch queries 222 of a specific time period (e.g., past three days).

The currently trending interests 228 included in the data store 220 mayinclude user interests within a recent time frame. In some examples, thecurrently trending interests may be the most popular user interests fromthe past day, two days, three days, week, and/or month. In general, thecurrently trending interests 228 may include a wide variety of areasderived from user's search terms. For example, the currently trendinginterests from the past week may be related to “Brand Lizard” portablemusic players and “Brand Lizard” cell phones. In some embodiments, thecurrently trending interests 228 may be determined from the executedsearch queries 222. Furthermore, the currently trending interests 228may dynamically vary based on the executed search queries 222. Forexample, the currently trending interests 228 may include “Brand Pumps”sneakers on Monday, but may switch to “Brand Kicks” sneakers byWednesday. In some examples, the currently trending interests 228 maystore past trending interests. For example, even though “Brand Pumps”sneakers are not currently trending, the data store 220 may store thetime period (and other statistics) of when “Brand Pumps” sneakers werecurrently trending interests among users.

The ontologies 230 included in the data store 220 may include modelsthat describe the relationships between different user interests and/orcurrently trending interests. For example, the ontologies 230 mayinclude similarities and differences between various user interests. Inaddition, the ontologies 230 may include inferences and/or assumptionsabout user interests based on information already existing in theontologies 230. For example, the ontologies 230 may include a modelbased on the information that users who like “Fish televisions” alsolike “Starfish televisions.” In addition, the model may include theinformation that users who like “Fish televisions” also like “Frogstereo systems.” As another example, the model may include theinformation that users who like “Fish televisions” do not like “Sharktelevisions.” In some embodiments, the ontologies 230 may become smarterover time, as the ontologies 230 utilize more information about userinterests and currently trending interests. In some embodiments, theontologies 230 may include ontologies for separate categories (e.g.,children's costumes ontology, video game ontology).

The semantics 232 included in the data store 220 may include models thatdescribe specific relationships between different user interests and/orcurrently trending interests. For example, the semantics 232 may includesimilarities between various user interests. For example, the semantics232 may include a model based on the information that users who like“Galaxy Wars Ultra Space Rocket Ships” also like “Galaxy Wars Deep SpaceFlying War Ships.” In other words, the semantics 232 includesinformation describing a detailed relationship between the two differentaircrafts. Generally speaking, the semantics 232 may include informationdescribing a relationship between different items, as well as inferringrelationships based on the similarity of different items. In addition,the semantics 232 may become smarter over time, as the semantics 232utilize more information about user interests and currently trendinginterests.

The components executed on the computing device 210 may include a searchquery module 240, a comparison module 245, a user interest module 250, adisplay module 255, a category module 260, a currently trendinginterests module 265, an ontology module 270, and other applications,services, processes, systems, engines, or functionality not discussed indetail herein.

A search query module 240 may be programmed to receive a search queryfrom a user. For example, the user may enter “Artist Princess Pri music”as a search query into a search engine. As another example, the user mayenter “newest CD from the artist Princess Pri” as a search query into awebpage search engine.

The search query module 240 may be further programmed to determinewhether the search query has general terms. In other words, the searchquery module 240 may determine whether the search query is a generic ornon-specific search query. In some embodiments, the search query module240 may determine that the search query is generic by analyzing the keywords, either separately or in combination with each other, to determinethe specificity of the search query. In some examples, the search querymodule 240 may compare the search query with executed search queries 222of known complexity. Upon the determination that executed search queriesare of similar subject matter and/or scope to the search query, thesearch query module 240 may determine that the search query containsgeneric search terms. For example, the search query module 240 maydetermine that the search terms “Orange music players” includes genericsearch terms. In contrast, the search query module 240 may determinethat the search terms “Orange music player, model X with 150 GB(gigabytes) of storage, green color, ultra headphones included” includesspecific search terms. In this example, the search terms are for a veryspecific model type, so the search query module 240 may not considerthis search query to be general or non-specific.

A comparison module 245 may be programmed to compare the search queryhaving general search terms with the executed search queries 222. Forexample, the comparison module 245 may compare the search query (e.g.,“Dolores costumes,” where Dolores is a science-fiction movie character)with the executed search queries 222 of a predefined time period (e.g.,the past one week). Based on the comparison, the comparison module 245may identify the executed search queries 222 that are related to thesearch query. In some examples, search queries may be related if theyinclude the same key words. For example, the comparison module 245 mayanalyze the executed search queries 222, and based on the analysis,determine that the executed search queries “Dolores hats,” “Dolorescapes,” and “Dolores swords” may be related to the search query “Dolorescostume” because the character “Dolores” is common among all of thesearch queries. In some embodiments, search queries may be related ifthey both relate to similar ideas and/or subject matters. Using theprevious example, the comparison module 245 may analyze the executedsearch queries 222, and based on the analysis, determine that theexecuted search queries “Maggie costumes,” and “Wilma swords” may berelated to the search query “Dolores costumes,” because “Maggie” and“Wilma” are both movie characters from a similar genre.

A user interest module 250 may be programmed to identify a user interestbased on the executed search queries 222 that are related to the searchquery. A user interest may include areas that the user is likelyinterested in based on the user's own search query in relation to theexecuted search queries 222. For example, the comparison module 245 maydetermine that the executed search queries “Dolores hats,” “Dolorescapes,” and “Dolores swords” may be related to the user's search query“Dolores costume.” In this example, the user interest module 250 maydetermine a user's interest areas based on the related search queries.For example, the user interest module 250 may determine that theinterest areas may include Dolores apparel (e.g., Dolores hats, Dolorescapes, Dolores costumes), Dolores weapons (e.g., Dolores swords), andapparel and/or weapons from similar characters to Dolores from similarscience fiction movies. In general, the interest areas may be broadercategories that encompass the subject matter found in the searchqueries. For example, the user interest module 250 may determine auser's interest in the broader category of “Dolores apparel” based onrelated executed search queries of “Dolores hats” and “Dolores capes.”

The user interest module 250 may determine interest items related to theuser's identified interest. As used herein, the term “interest items”generally refers to any item (e.g., a product, a service, a webpagelink, an image) that may be of interest to the user. In some examples,the user interest module 250 may determine the interest items afterdetermining the user interests. For example, the user interest module250 may determine that that the user's interest areas may includeDolores apparel, Dolores weapons, and apparel and/or weapons fromsimilar characters to Dolores from similar science fiction movies. Basedon this information, the user interest module 250 may determine interestitems that the user may find interesting. In other words, the userinterest module 250 may recommend products and/or services based on theuser interests. For example, the user interest module 250 may identifysimilar Dolores hats and capes for purchase, similar Gwen (a similarcharacter from a similar science fiction movie) swords for purchase, awebpage reference discussing the design of Dolores apparel, photos froma Dolores-themed costume party, and/or a streaming movie service thatstreams movies of a similar genre. The example interest items arerelated to the user's interests, so it is likely that the user may beinterested in purchasing and/or viewing these items as well.

The display module 255 may display the interest items to the user in anetwork page along with the search results. In other words, the searchquery entered by the user may result in general search results, butother search result information (e.g., interest items) may also bedisplayed. In some examples, the display module 255 may display theinterest items alongside with the main search results. In some examples,the display module 255 may display the interest items in a separatesection of the network page. For example, the interest items may bedisplayed together on the right-hand side of the display screen. In someconfigurations, the display module 255 may display the interest items onthe top of the display screen (e.g., as a ribbon). In other examples,the display module 255 may display subject groupings (e.g., expertgroupings), where the interest items are included in the subjectgroupings.

The category module 260 may categorize the interest items (e.g., relatedproducts, services, webpage links, etc.) into subject groupings prior tothe display module 255 displaying the subject groupings in a networkpage along with the search results. For example, the category module 260may categorize related interest items (e.g., Dolores hats) into the samesubject grouping. In addition, the subject grouping “Dolores Hats” mayinclude the available Dolores hats (e.g., Dolores hats of differentstyles, models, prices). As an additional example, page links related toDolores apparel may be under the subject grouping “Dolores Links,” andclicking on the subject grouping may enable the user to access theindividual page links.

The currently trending interests module 265 may identify currentlytrending interests by analyzing the executed search queries 222. Inother words, by analyzing the executed search queries 222 for a giventime period (e.g. the past two weeks), the currently trending interestsmodule 265 may identify recently popular search terms. For example, thecurrently trending interests module 265 may determine that a largenumber of search queries from the past week have revolved around thefantasy film “Hero,” and in particular, Hero crowns, Hero badges, andHero whips. In other words, the crowns, badges, and whips of the fantasyfilm “Hero” may be a currently trending interest. In some embodiments,the currently trending interests module 265 may identify currentlytrending interests by analyzing the frequency of related and/or similarexecuted search queries. In some examples, the currently trendinginterests module 265 may compare the currently trending interests withthe user interest, as determined by the user interest module 250. Afterthe comparison, the currently trending interests module 265 maydetermine interested items related to both the user interest and thecurrently trending interests. For example, the currently trendinginterests module 265 may compare the currently trending interest (e.g.,Hero whips) with a user interest (e.g. Dolores swords), and based on thedetermination that both the interests revolve around movie characterweapons, the currently trending interests module 265 may identifyinterest items related to different movie character weapons.

The ontology module 270 may create ontologies 230 based on relationshipsbetween different user interests and/or currently trending interests. Insome examples, the ontology module 270 may create the ontology 230 byidentifying user interests that are related. In addition, the ontology230 may include inferences and/or assumptions about user interests basedon information already existing in the ontologies 230 included in thedata store 220. For example, the ontology module 270 may create theontology 230 based on the information that users who like “Fishtelevisions” also like “Starfish televisions.” From this information,the ontology module 270 may infer that users who like “Fish” televisionsalso like “Frog” televisions, based on the similarities between Fish andFrog televisions. In addition, the ontology 230 may include theinformation that users who like “Fish televisions” do not like “Sharktelevisions.” In some embodiments, the ontology module 270 may createontologies that become smarter over time, as the ontologies 230 gainadditional information about user interests and currently trendinginterests. In some embodiments, the ontology module 270 may createseparate ontologies for separate categories (e.g., children's costumesontology, video game ontology).

Certain processing modules may be discussed in connection with thistechnology and FIG. 2. In one example configuration, a module of FIG. 2may be considered a service with one or more processes executing on aserver or other computer hardware. Such services may be centrally hostedfunctionality or a service application that may receive requests andprovide output to other services or consumer devices. For example,modules providing services may be considered on-demand computing that ishosted in a server, cloud, grid, or cluster computing system. Anapplication program interface (API) may be provided for each module toenable a second module to send requests to and receive output from thefirst module. Such APIs may also allow third parties to interface withthe module and make requests and receive output from the modules. Thirdparties may either access the modules using authentication credentialsthat provide on-going access to the module or the third party access maybe based on a per transaction access where the third party pays forspecific transactions that are provided and consumed.

FIG. 3 is a drawing that illustrates an exemplary user interfacerendered according to various examples of the present disclosure. Theuser interface 300 illustrates an exemplary page for the fictional ACMEOnline Store 310. The ACME Online Store 310 may be used to purchasegoods, purchase services, view pages and/or images related to productsand services, etc. The ACME Online Store 310 may include a wide range ofproducts, ranging from electronics to jewelry to house wares. A user(e.g., customer) may search for products by entering the search termsinto the search box 320. For example, the user may enter the searchterms “blaze man superhero” into the search box 320. After the search isperformed, the search results 330 may be displayed on the screen. Acertain number of search results may be displayed at a time (e.g.,search results 1-3 out of the total 50,000 results). For example, thefirst three search results may include the Blaze Man DVD 1 350, theBlaze Man DVD 2 360, and the Blaze Man Music CD 370. In some examples,the search results may be displayed according to price, ratings,popularity, reviews, etc. For each product displayed, information on theidentity of the manufacturer, the price, rating, item description and/orother item related information may be displayed.

The user interface 300 may include an interest category section 340 thatdisplays interest categories related to the search query. As discussedpreviously, the category module 260 may categorize the interest itemsinto subject groupings (e.g., interest categories) prior to displayingthe subject groupings in a network page along with the search results.For example, in response to the search term “blaze man superhero,” theinterest section 340 of the display may include the interest categoriesof Blaze Man Cars, Blaze Man Hats, Blaze Man Posters, Blaze Man Books,Blaze Man Music, and/or Blaze Man DVDs. In some examples, the interestcategories may be displayed according to relevance, popularity, pricedfrom high to low, priced from low to high, ratings, etc. For example,Blaze Man Toys may be displayed first because the interest category mayhave the highest popularity out of the relevant interest categories,while Blaze Man DVDs may be displayed last because it has the lowestpopularity out of the relevant interest categories.

FIG. 4 is a drawing that illustrates an exemplary user interface fordisplaying interest categories related to the search query. The userinterface 400 illustrates an exemplary webpage for the fictional ACMEOnline Store 410. After the search term (e.g., headphones) is enteredinto the search box 420, the search results 430 may be displayed on thescreen. A certain number of search results may be displayed at a time(e.g., search results 1-3 out of the total 2,000 results). For example,the first three search results may be the Headphone Extreme by TomatoCorp. 450, the Headphone Ultra by Pickle Corp. 460, and the HeadphoneBasic by Tomato Corp. 470.

The user interface 400 may include an interest category section 440 thatdisplays interest categories related to the search query. In thisexample, the interest categories are related to the search term enteredby the user (e.g., headphones), but the individual interest categoriesmay relate to different types of headphones. As will be discussed infurther detail below, while a user with average knowledge aboutheadphones may search for the generic term “headphones,” users withadditional knowledge about headphones may enter more specific searchterms related to headphones. For example, a user with additionalknowledge about headphones may enter “headphones with volume control” or“headphones with microphone” into the search box 420. This additionalinformation allows more knowledgeable users to find specific types ofheadphones, presumably with more favorable features (e.g., volumecontrol, microphone). In the present technology, the user with lessknowledge about headphones may benefit from previously executed searchesconducted by users with additional knowledge. Thus, the interestcategory section 440 may include categories based on popular (andrecent) search queries from headphone “experts” (e.g., users withincreased knowledge about headphones). In this example, the section 440may include the additional interest categories of “headphones withvolume control,” “headphones with microphone,” “headphones by TomatoCorp.,” and/or “headphones with bass.”

FIG. 5 is a drawing that illustrates an exemplary user interface forrecommending similar products based on related search terms. The userinterface 500 illustrates an exemplary network page for the fictionalACME Online Store 510. After the search terms (e.g., Magic Kingdom Wand)are entered into the search box 520, the search results 530 may bedisplayed. A certain number of search results may be displayed at a time(e.g., search results 1-2 out of the total 50 results). For example, thefirst two search results may be the Magic Kingdom Wand by XYZ Corp. 540,and the Magic Kingdom Wand by ABC Corp. 550.

The user interface 500 may include a display section 560 that providesrecommendations for products related to the search terms. In general,the recommendations for similar products may be based on related searchterms from a plurality of other users. In contrast to the productcategories from FIGS. 3 and 4, the display section 560 in FIG. 5pertains to individual products. The individual products may includeinterest items (e.g., products, services, network page links, photos,etc.). As discussed previously, the interest items may be determinedbased on the search query entered by the user. In some embodiments, theuser may select the desired time frame 570 of the related search terms.For example, the user may select an option to see similar products basedon related searches from the past week. In other examples, the timeframe may be the last day, two days, three days, two weeks, etc. Inother words, the similar product recommendations displayed may be basedon currently trending interests and search queries. Based on thisexample, if the user selects to see similar products based on relatedsearches from the past week, the display section 560 may include “MagicKingdom Stones” 580 and “Magic Forest Sword” 590.

FIG. 6 is a drawing that illustrates an exemplary user interface forrecommending similar products based on current events. The userinterface 600 illustrates an exemplary network page for the fictionalACME Online Store 610. After the search terms (e.g., Magic Kingdom Wand)may be entered into the search box 620, the search results 630 may bedisplayed on the screen. A certain number of search results may bedisplayed at a time (e.g., search results 1-2 out of the total 50results). For example, the first two search results may be the MagicKingdom Wand by XYZ Corp. 640, and the Magic Kingdom Wand by ABC Corp.650.

The user interface 600 may include a display section 660 that providesrecommendations for products related to the search terms. In oneconfiguration, a current event or current time period 670 may determinethe products that are recommended. For example, if the user enters thesearch terms during the month of September (e.g., the typical month thatstudents go back to school), then the recommended products may relate tothe time period of going back to school. In this example, therecommended products may include Magic Kingdom lunchboxes 680 and/orMagic Kingdom backpacks 690. The recommended products may be related tothe search query (e.g., Magic Kingdom wand), but also relate to thecurrent time period of going back to school. As another example, if theuser entered the search term “Magic Kingdom wand” during the month ofOctober, then the recommended products may include “Magic Kingdomcostumes” due to the proximity of Halloween. In some examples, therecommendations for products related to current events may be determinedby similar search queries entered by other users (e.g. a number of otherusers entered search queries related to “Magic Kingdom costumes” in themonth of October). In some configurations, the recommendations forproducts may be determined from information about user interests 226(FIG. 1) and/or ontologies 230 included in the data store 220. Inaddition, historical information related to current events (e.g., MagicKingdom costumes have been popular in the month of October for the pastten years) may be included in the user interests 226 and/or thecurrently trending interests 228 of the data store 220.

FIG. 7 illustrates an example of a method for providing interest basedsearch results based on a search query. The method may include theoperation of receiving the search query having key words that describe aproduct interest, as in block 710. For example, a user may enter thesearch query into a search engine. The search query may describe aproduct interest (e.g., movies, video games, books, cell phones, etc.).In some embodiments, the product interest may include an interest forservices (e.g., web storage, movie subscription service, etc.). Thesearch query may include key words that describe the nature of theproduct or service. For example, a user interested in “Brand Rocketsneakers, model 10” includes key words describing the brand (e.g.,Rocket), the type of product (e.g., sneakers), and the model of theproduct (e.g., model 10).

The search query may be determined to have low specificity byidentifying general terms associated with the search query, as in block720. In other words, the search query may be generic when the searchquery includes general terms and does not include specific terms. Insome examples, information included in the key words 224 may be used todetermine whether the search terms are generic. Search terms may beconsidered general when a large number of search results are returnedfor the search terms or the terms are simple dictionary terms. Inaddition, search terms may be considered general when they have beenidentified by a heuristic model or a human expert as general. Forexample, a search query for “Brand Rocket sneakers, model 10” may beconsidered to have general search terms because the search query mostlikely describes a popular brand and model of the sneakers. In thisexample, no search terms are peculiar and/or out of the ordinary. Asanother example, a search query for “Brand Rocket sneakers, model 10,new condition, free shipping, pink color” may be considered to havespecific search terms because the search query most likely describes anunique version of the sneakers. In addition, the additional criteria(e.g., new condition, free shipping, pink color) increases thespecificity of the search query. Thus, specific search terms may beidentified when the search terms are known attributes of items.

The search query having low specificity may be compared with priorsearch queries to identify related prior search queries, where the priorsearch queries were received within a predefined time period prior tothe search query received, as in block 730. For example, the searchquery “Rocket sneakers, model 10” may be compared with prior searchqueries. In some examples, the key words of the search query may becompared with the key words of the prior search queries. For example,the prior search queries may include “Rocket sneakers, model 11” and“Rocket performance socks for model 10.” In this example, the key wordsof “Rocket” and “model 10” of the prior search queries are related tothe search query “Rocket sneakers, model 10,” so these prior searchqueries are identified as being related to the search query. Inaddition, fingerprinting methods and/or correlation metrics may be usedto compare the executed search queries with the search query in order tocategorize related executed search queries together. In some examples,the prior search queries may be received within a predefined time periodprior to the search query received (e.g., a day, two days, three days, aweek, two weeks, a month, a season). Additionally, the predefined timeperiod may depend on the type of item and/or the length of time acertain item may be popular.

A user interest may be identified based on the related prior searchqueries, as in block 740. The user interest may be inferred based on thekey words and/or product areas associated with the prior search queries.For example, the related prior search queries may include “Rocketsneakers, model 11” and “Rocket performance socks for model 10.” In thisexample, the user interest identified may include “Rocket sneakers”and/or “products related to Rocket sneakers, model 10.” In someexamples, a user interest may be identified based on a more remoteconnection (e.g., other products by Rocket, such as shorts and shirts).

Items relating to the user interest may be determined, as in block 750.The items may include recommendations for products, services, webpagelinks to product reviews and/or other information, photo albums, etc. Ingeneral, the items may include information related to and/or containingsimilar subject matter to the user interest. In some examples, the itemtitles and/or item descriptions may include terms related to the userinterest. For example, the user interest may be identified as Rocketsneakers” and/or “products related to Rocket sneakers, model 10.” Inthis example, the items may include a webpage link for an expert productreview for “Rocket sneakers, model 10,” a product recommendation for“Rocket sneakers, model 11,” and/or photos of the upcoming “Rocketsneakers, model 12.”

In some examples, the items related to the user interest may bedisplayed along with the search results. For example, the items may bedisplayed to the user in a network page along with the search results.In other words, the search query entered by the user may result ingeneral search results, but other search result information (e.g.,items) may also be displayed based on identified user interests. In someexamples, the items may be displayed alongside the search results. In analternative example, the items may be displayed on a separate section ofthe network page. For example, the items may be displayed together onthe right-hand side of the display screen.

In some example configurations, currently trending interests may beidentified by analyzing the prior search queries. In other words, byanalyzing the prior search queries from a given time period (e.g., thepast three days), currently trending interests (e.g., recently popularsearch terms) may be identified. Further, currently trending interestsmay be identified by analyzing the frequency of related and/or similarprior search queries. When the frequency and/or number of searches thatrelate to the same interest (“e.g., Fire Man movie action figures”)increases, then the interest may be considered as currently trending.The currently trending interests may be compared with the user interestfor determining items for display. For example, the user interest of auser interested in “Fire Man movie toys” may be compared with thecurrently trending interest of “Fire Man movie action figures,” andbased on the comparison, items related to both “Fire Man movie toys” and“Fire Man movie action figures” may be displayed.

In other examples, the prior search queries having key words related tothe search query may be categorized into one or more subject groupings.The subject groupings may be determined from the key words of the priorsearch queries that relate to the search query. For example, a user maysearch for “Brand Octopus televisions.” The prior search queries relatedto the search “Brand Octopus televisions” may include Octopustelevisions of specific types (e.g., LCD, plasma), screen sizes (e.g.,42 inches, 50 inches), and/or specific features (e.g., 1080 p). In otherwords, the key words from the prior search queries include the key wordsof the search query (e.g., “Brand Octopus televisions”), but may alsocontain additional key words. These additional key words may be helpfulto the user because the key words educate the user about additionaloptions related to “Octopus televisions.” Thus, the prior search queriesmay be categorized into subject groupings, and the generated categoriesand/or related items may be displayed along with the search results. Inthis example, the subject groupings may include Octopus LCD televisions,Octopus plasma televisions, Octopus 42 inch televisions, Octopus 50 inchtelevisions, and/or Octopus 1080 p televisions. By selecting aparticular subject grouping, the user may be directed to individualproducts, services, etc. that relate to that subject grouping.

FIG. 8 illustrates an example of a method for providing search resultsbased on a search query. The method may include the operation ofreceiving the search query, as in block 810. For example, a user mayenter the search query into a search engine. The search query maydescribe a product interest (e.g., movies, video games, books, cellphones). In some examples, the product interest may include an interestfor services (e.g., web storage, movie subscription service). The searchquery may include key words that describe the nature of the product orservice. The search query may also be determined to have low specificityby analyzing the entropy of activities performed after the searchresults are displayed. For example, a low specificity query generallyproduces a large number of search results, and may result in a number ofirrelevant results. In contrast, a high specificity query generallyproduces a small number of search results. In general, when the userenters a very broad search query that produces many results, the usermay spend a long amount of time not finding the exact results desired ormay immediately enter a new search result. In contrast, by entering asearch query with specific terms, the user may view a number of relevantresults. Thus, the specificity of the search query may be determined byanalyzing the entropy of activities performed by the user.

A user interest may be identified based on the search query, as in block820. In general, the user interest may be a product, service, etc. thatthe user may find interesting based on their search query. In someexamples, the user interest may be identified by analyzing the key wordsof the search query. The user interest may also be inferred based on thekey words and/or product areas associated with the search query. Forexample, a user may search for “newest music CD from artist Red Roses,”where Red Roses sings country music. In this example, the user interestsbased on the search query may be determined as “artist Red Roses” and“Red Roses music albums.” In some examples, the user interest may be abroader category (e.g., similar country artists to Red Roses, similarmusic CDs).

The user interest may be compared with currently trending interests, asin block 830. In some examples, the currently trending interests may beidentified based on a plurality of executed search queries receivedwithin a predefined time period prior to the search query beingreceived. In other words, the currently trending interests may includepopular search queries from a recent time period. The predefined timeperiod prior the search query being received may include a day, twodays, three days, a week, a month, and/or a season. Further, thecurrently trending interests may be identified by analyzing theplurality of executed search queries. In particular, the frequency ofrelated and/or similar executed search queries may be considered indetermining whether the interest is currently trending. The currentlytrending interests may be identified by applying heuristics to theexecuted search queries. In particular, heuristics may be used toidentify currently trending interests based on past information thatallows for some intelligent guesswork. For example, a currently trendinginterest may be deduced by realizing that certain known interests almostalways trend at certain times of the year. As another example, acurrently trending interest may be deduced by realizing that certaininterests are almost always related to other interests, and that if oneinterest is currently trending, then it may be very likely that therelated interest is currently trending as well.

In some examples, the currently trending interests dynamically varybased on the plurality of executed search queries received within apredefined time period prior the search query being received. Forexample, a large number of search queries may have been executed for thelatest smart phone “Supernova 5” during the past week. In this example,“Supernova 5” may be considered a currently trending interest. However,if the number of search queries executed for “Supernova 5” decreasesignificantly during the following week, the “Supernova 5” may ceasebeing a currently trending interest. The currently trending interestsmay dynamically vary based on information collected from magazines,newspapers, journals, books, periodicals, newsletters, online blogs,online discussion forums, social media websites, educational websites,and/or current event websites. For example, social media websites and/orcurrent event websites may recognize that the newest smart phone“Supernova 5” has created a strong media buzz because many users arewriting and/or discussing the “Supernova 5” on discussion boards andonline forums. Thus, this information from other sources may contributeto an interest being considered as currently trending.

Interest items based on the currently trending interests that relate tothe user interest may be identified, as in block 840. For example, theuser interest (e.g., tablet computers) may relate to currently trendinginterests (e.g., Cheetah tablet computers). Based on the relatedinterests, specific interest items may be identified. The interest itemsmay include products, services, etc. that are related in subject matterto the user interests. For example, the interest items may includemultiple models of Cheetah tablet computers, similar tablet computersfrom different manufacturers, and/or similar products from Cheetah. Inaddition, the interest items may include services, links to productreviews, photo albums, and/or any other information related to Cheetahtablet computers. In some examples, the interest items may includeinterest categories, where the interest categories may be based on thecurrently trending interests that relate to the user interest. Forexample, an interest category may include “Cheetah tablet computers,”and the interest items (e.g., individual Cheetah tablet computer models)related to the interest category may be included within the interestcategory.

The interest items may be displayed as product recommendations to theuser along with the search results. In some examples, the interest itemsmay be displayed in order according to the popularity of the currentlytrending interests. In other words, the interest items relating to themost popular trending interests may be displayed first, while theinterest items relating to the least popular trending interests may bedisplayed last. In some examples, the popularity of the currentlytrending interests may be based on the number of executed search queriesreceived.

In some configurations, an ontology may be formed based on the currentlytrending interests. For example, currently trending interests mayinclude “Albus costumes” and “Silas costumes,” and this information maybe used to create a costumes ontology. The costumes ontology maydescribe the relationship between different types of costumes (e.g.,users interested in “Albus costumes” generally also like “Silascostumes”). In some examples, the user interest may be compared with theontology. For example, a user interested in “Gwen costumes” may becompared to the information found in the costumes ontology. As a result,the currently trending interests from the ontology that relate to theuser interest may be identified. In this example, the currently trendinginterests from the costumes ontology may include “Albus costumes” andSilas costumes.” In some examples, interest items may be determinedbased on the currently trending interests from the ontology that relateto the user interest. For example, the interest items relating to thecurrently trending interests “Albus costumes” and “Silas costumes” fromthe costumes ontology may be determined because the user is interestedin “Gwen costumes.”

In some examples, the key words from the plurality of executed searchqueries may be identified. The executed search queries having key wordsof high specificity may be deleted using heuristics. The key words inthe executed search queries may be compared with the key words in thesearch query. After the comparison, the executed search queries thatcontain the same key words as the search query may be identified. Forexample, the executed search queries may include “Cheetah computer,model A,” “Cheetah computer with printer,” and “Cheetah computer withultra II graphics.” In addition, the search query may include “Cheetahcomputer.” In this example, the key term of the search query (e.g.“Cheetah computer”) is included in each of the executed search queries.The executed search queries that contain the same key word as the searchquery may be categorized into expert groupings. In this example, theexecuted search queries may be categorized as “Cheetah Computer—ModelA,” “Cheetah computer w/ Printer,” and “Cheetah computer w/ Ultra IIGraphics.” In this example, the expert categories relate to Cheetahcomputers, but one expert grouping relates to Model A, a different grouprelates to printers, and the last group relates to graphics. In otherwords, each expert grouping may have a different characteristic fromeach of the other expert groupings. Furthermore, the differentcharacteristic relates to a key word not contained in the search query.For example, none of the search terms “Model A,” “printer,” and “UltraII Graphics” were included in the search query. The expert groupings maybe displayed as part of the search results, where each expert groupingmay contain recommendations for products and/or services based on thekey words of the search query.

FIG. 9A illustrates an example of a method for creating ontologies basedon executed search results. The method may include the operation ofreceiving executed search queries from a predefined time period, whereineach of the executed search queries include key words describing aproduct interest, as in block 910. User interests may be determinedbased on the key words associated with the executed search queries, asin block 920. An ontology may be created based on the user interests byidentifying relationships between the user interests, as in block 930.In some examples, the ontology may be created by identifying userinterests that are related based on related key words included in theexecuted search queries. In other words, the relationship between theuser interests may include that of similarity. For example, it may bedetermined that users that enjoy playing Galaxy fantasy video games alsoenjoy playing Quasar fantasy video games, based on the similaritybetween the fantasy video games. Therefore, the user interest of playingGalaxy fantasy video games may be related to the user interest ofplaying Quasar fantasy video games. In this case, the relationshipbetween Galaxy video games and Quasar video games may be added to avideo game ontology. Furthermore, the relationship between the userinterests may be used to determine interest items. For example, a userwith an interest in “Particle fantasy video games” may be recommendedboth Galaxy and Quasar fantasy video games because of the relationshipbetween the Galaxy and Quasar video games stored in the video gameontology.

In some examples, the ontology may be created by identifying userinterests that are not related to one another. In other words, therelationship between the user interests may include that ofdissimilarity. In some examples, it may be determined that userinterests are unrelated based on unrelated key words included in theexecuted search queries. For example, it may be determined that usersthat enjoy playing Galaxy fantasy video games do not enjoy playingIntegral educational video games. Therefore, the user interest ofplaying Galaxy fantasy video games may not be related to the userinterest of playing Integral educational video games. In this case, therelationship between Galaxy video games and Integral video games may beadded to the video game ontology. Thus, a user having an interest inplaying Galaxy fantasy video games may not be recommended Integraleducational video games based on the relationship between Galaxy andIntegral video games stored in the video game ontology.

The ontology may receive additional information about inferred userinterests based on the relationships between the user interests. Forexample, the video game ontology may include the information that theuser interest of playing Galaxy fantasy video games may be related tothe user interest of playing Quasar fantasy video games. Based on thisrelationship, it may be inferred those the user interest of playingGalaxy and Quasar fantasy video games also relates to the user interestof playing Differential fantasy video games. In this example, therelationship to Differential fantasy video games may be inferred basedon the similarities between the fantasy video games, even though theremay be no executed search queries that support this conclusion. Rather,this information may be inferred by similar products, subject matters,etc. and then added to the associated ontology (e.g., the video gameontology). In other words, the additional user interests inferred may beadded to the associated ontology.

FIG. 9B illustrates an exemplary ontology model 940 based on theexecuted search queries. In some examples, the ontology model may takethe form of a tree or a categorization model. The ontology model 940example may include a robot ontology tree 950. The robot ontology tree950 may include a number of different branches related to robotinterests. In addition, the robot ontology tree may illustrate therelationships between the different robot interests. For example, therobot ontology tree 950 may include different sub-interests related torobots, such as robot vacuum cleaners, robot toys, and robot movies. Therobot toys may further include action figures and building kits. Inother words, action figures and building kits are related as both beingrobot toys. The building kits may be grouped as kits for ages 8 to 13,as well as for age 14 and up. Under the sub-interest related to robotmovies, a popular movie type may be related to entertainment. Inaddition, robot movies may include educational movies. The robot vacuumcleaners may include docking stations and batteries. The batteries mayinclude rechargeable batteries, AAA batteries, and lithium batteries. Asdiscussed in FIG. 9A, the robot ontology tree 950 may be created basedon the user interests by identifying relationships between the userinterests. As an example, a search query for “robot movies” may utilizethe robot ontology tree 950 for determining interest items related tothe search query.

FIG. 10 illustrates a computing device 1010 on which modules of thistechnology may execute. A computing device 1010 is illustrated on whicha high level example of the technology may be executed. The computingdevice 1010 may include one or more processors 1012 that are incommunication with memory devices 1020. The computing device may includea local communication interface 1018 for the components in the computingdevice. For example, the local communication interface may be a localdata bus and/or any related address or control busses as may be desired.

The memory device 1020 may contain modules that are executable by theprocessor(s) 1012 and data for the modules. Located in the memory device1020 are modules executable by the processor. For example, a categorymodule 1024, the currently trending interests module 1026, and theontology module 1028, and other modules may be located in the memorydevice 1020. The modules may execute the functions described earlier. Adata store 1022 may also be located in the memory device 1020 forstoring data related to the modules and other applications along with anoperating system that is executable by the processor(s) 1012.

Other applications may also be stored in the memory device 1020 and maybe executable by the processor(s) 1012. Components or modules discussedin this description that may be implemented in the form of softwareusing high programming level languages that are compiled, interpreted orexecuted using a hybrid of the methods.

The computing device may also have access to I/O (input/output) devices1014 that are usable by the computing devices. An example of an I/Odevice is a display screen 1030 that is available to display output fromthe computing devices. Other known I/O device may be used with thecomputing device as desired. Networking devices 1016 and similarcommunication devices may be included in the computing device. Thenetworking devices 1016 may be wired or wireless networking devices thatconnect to the internet, a LAN, WAN, or other computing network.

The components or modules that are shown as being stored in the memorydevice 1020 may be executed by the processor 1012. The term “executable”may mean a program file that is in a form that may be executed by aprocessor 1012. For example, a program in a higher level language may becompiled into machine code in a format that may be loaded into a randomaccess portion of the memory device 1020 and executed by the processor1012, or source code may be loaded by another executable program andinterpreted to generate instructions in a random access portion of thememory to be executed by a processor. The executable program may bestored in any portion or component of the memory device 1020. Forexample, the memory device 1020 may be random access memory (RAM), readonly memory (ROM), flash memory, a solid state drive, memory card, ahard drive, optical disk, floppy disk, magnetic tape, or any othermemory components.

The processor 1012 may represent multiple processors and the memory 1020may represent multiple memory units that operate in parallel to theprocessing circuits. This may provide parallel processing channels forthe processes and data in the system. The local interface 1018 may beused as a network to facilitate communication between any of themultiple processors and multiple memories. The local interface 1018 mayuse additional systems designed for coordinating communication such asload balancing, bulk data transfer, and similar systems.

While the flowcharts presented for this technology may imply a specificorder of execution, the order of execution may differ from what isillustrated. For example, the order of two more blocks may be rearrangedrelative to the order shown. Further, two or more blocks shown insuccession may be executed in parallel or with partial parallelization.In some configurations, one or more blocks shown in the flow chart maybe omitted or skipped. Any number of counters, state variables, warningsemaphores, or messages might be added to the logical flow for purposesof enhanced utility, accounting, performance, measurement,troubleshooting or for similar reasons.\

Some of the functional units described in this specification have beenlabeled as modules, in order to more particularly emphasize theirimplementation independence. For example, a module may be implemented asa hardware circuit comprising custom VLSI circuits or gate arrays,off-the-shelf semiconductors such as logic chips, transistors, or otherdiscrete components. A module may also be implemented in programmablehardware devices such as field programmable gate arrays, programmablearray logic, programmable logic devices or the like.

Modules may also be implemented in software for execution by varioustypes of processors. An identified module of executable code may, forinstance, comprise one or more blocks of computer instructions, whichmay be organized as an object, procedure, or function. Nevertheless, theexecutables of an identified module need not be physically locatedtogether, but may comprise disparate instructions stored in differentlocations which comprise the module and achieve the stated purpose forthe module when joined logically together.

Indeed, a module of executable code may be a single instruction, or manyinstructions, and may even be distributed over several different codesegments, among different programs, and across several memory devices.Similarly, operational data may be identified and illustrated hereinwithin modules, and may be embodied in any suitable form and organizedwithin any suitable type of data structure. The operational data may becollected as a single data set, or may be distributed over differentlocations including over different storage devices. The modules may bepassive or active, including agents operable to perform desiredfunctions.

The technology described here can also be stored on a computer readablestorage medium that includes volatile and non-volatile, removable andnon-removable media implemented with any technology for the storage ofinformation such as computer readable instructions, data structures,program modules, or other data. Computer readable storage media include,but is not limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other opticalstorage, magnetic cassettes, magnetic tapes, magnetic disk storage orother magnetic storage devices, or any other computer storage mediumwhich can be used to store the desired information and describedtechnology.

The devices described herein may also contain communication connectionsor networking apparatus and networking connections that allow thedevices to communicate with other devices. Communication connections arean example of communication media. Communication media typicallyembodies computer readable instructions, data structures, programmodules and other data in a modulated data signal such as a carrier waveor other transport mechanism and includes any information deliverymedia. A “modulated data signal” means a signal that has one or more ofits characteristics set or changed in such a manner as to encodeinformation in the signal. By way of example, and not limitation,communication media includes wired media such as a wired network ordirect-wired connection, and wireless media such as acoustic, radiofrequency, infrared, and other wireless media. The term computerreadable media as used herein includes communication media.

Reference was made to the examples illustrated in the drawings, andspecific language was used herein to describe the same. It willnevertheless be understood that no limitation of the scope of thetechnology is thereby intended. Alterations and further modifications ofthe features illustrated herein, and additional applications of theexamples as illustrated herein, which would occur to one skilled in therelevant art and having possession of this disclosure, are to beconsidered within the scope of the description.

Furthermore, the described features, structures, or characteristics maybe combined in any suitable manner in one or more examples. In thepreceding description, numerous specific details were provided, such asexamples of various configurations to provide a thorough understandingof examples of the described technology. One skilled in the relevant artwill recognize, however, that the technology can be practiced withoutone or more of the specific details, or with other methods, components,devices, etc. In other instances, well-known structures or operationsare not shown or described in detail to avoid obscuring aspects of thetechnology.

Although the subject matter has been described in language specific tostructural features and/or operations, it is to be understood that thesubject matter defined in the appended claims is not necessarily limitedto the specific features and operations described above. Rather, thespecific features and acts described above are disclosed as exampleforms of implementing the claims. Numerous modifications and alternativearrangements can be devised without departing from the spirit and scopeof the described technology.

What is claimed is:
 1. A method for providing search results based onsearch queries, the method comprising: under the control of one or morecomputer systems configured with executable instructions: receiving asearch query for a product or service; identifying a user interest basedon the search query; comparing the user interest with currently trendinginterests; identifying interest items based on the currently trendinginterests that relate to the user interest; identifying the currentlytrending interests based on a plurality of executed search queriesreceived within a predefined time period prior to the search query beingreceived; identifying key words associated with the plurality ofexecuted search queries; and categorizing the executed search queriesthat contain the key words as the search query into expert groupings,wherein each expert grouping has a different characteristic from each ofthe other expert groupings.
 2. The method of claim 1, further comprisingdisplaying the interest items in a network page along with the searchresults and the interest items include recommendations for products orservices based on the user interest.
 3. The method of claim 1, whereinthe interest items include interest categories, wherein the interestcategories are based on the currently trending interests that relate tothe user interest.
 4. The method of claim 1, wherein identifying thecurrently trending interests based on a plurality of executed searchqueries further comprises applying heuristics to the executed searchqueries to identify the currently trending interests.
 5. The method ofclaim 1, further comprising determining whether the search query has lowspecificity or high specificity by analyzing user activities performedafter the search results are displayed.
 6. The method of claim 1,further comprising: forming an ontology based on the currently trendinginterests; comparing the user interest based on the search query withthe ontology; identifying currently trending interests from the ontologythat relate to the user interest; determining interest items based onthe currently trending interests from the ontology that relate to theuser interest.
 7. The method of claim 1, further comprising: comparingthe key words associated with the executed search queries after theselective deletion with key words associated with the search query;identifying the executed search queries that contain the key words fromthe search query; and displaying the expert groupings as part of thesearch results, wherein each expert grouping contains recommendationsfor products or services based on the key words from the search query.8. The method of claim 7, wherein the different characteristic is basedon key words associated with the executed search queries that are notcontained in the search query.
 9. The method of claim 1, wherein thepredefined time period prior to the search query from the user comprisesat least one of: a day; two days; three days; a week; a month; and aseason.
 10. The method of claim 1, wherein the currently trendinginterests dynamically vary based on the plurality of executed searchqueries received within a predefined time period prior to the searchquery being received.
 11. The method of claim 1, wherein the currentlytrending interests dynamically vary based on information received fromat least one of: newspapers, magazines, social media websites,educational websites, and current event websites.
 12. The method ofclaim 2, wherein displaying the interest items along with the searchresults comprises: ranking the interest items based on the popularity ofthe currently trending interests, wherein the popularity of thecurrently trending interests is based on the number of executed searchqueries received.